package cn.net.Stream;
/*
  本类测试文件的属性方法、创建、删除、列表
 */
import java.io.File;
import java.io.IOException;
import java.util.Arrays;

public class TestFile {
    public static void main(String[] args) throws IOException {
        //需要自己手动创建生成路径D:\File\1.txt
        File f= new File("D:\\File\\1.txt");
        //测试文件基本属性
        System.out.println(f.length());//abc==3
        System.out.println(f.exists());//true
        System.out.println(f.isFile());//是个文件true
        System.out.println(f.isDirectory());//是个文件夹flase
        System.out.println(f.getName());//1.txt
        System.out.println(f.getParent());//D:\File
        System.out.println(f.getAbsoluteFile());//D:\File\1.txt绝对路径
        System.out.println(f.getAbsolutePath());//D:\File\1.txt
        /****************************************************/
        //测试文件的创建与删除
        f = new File("D:\\File\\2.txt");//先指定一个正常路径，期创建一个新文件
        System.out.println(f.createNewFile());//true只创建生成一次；抛出异常
        f = new File("D:\\File\\m");
        System.out.println(f.mkdir());//新建一个文件夹
        f = new File("D:\\File\\a\\b\\c");
        System.out.println(f.mkdirs());//创建多层文件夹

        System.out.println(f.delete());//只能删除文件和空文件,即删除了C文件
        f= new File("D:\\File\\1.txt");
        //2.3 文件列表测试
        f = new File("D:\\File");
        String[] listName = f.list();//list()方法返回String[]对象，包含每个文件名！！！
        System.out.println(Arrays.toString(listName));//[1.txt, 2.txt, a, m]

        File[] fs = f.listFiles();////listFiles()方法返回File[]对象，包含各个文件路径！！！
        System.out.println(Arrays.toString(fs));//[D:\File\1.txt, D:\File\2.txt, D:\File\a, D:\File\m]
        System.out.println(fs[0].length());//3

    }
}
